From: Xenia Ragiadakou Date: Wed, 19 Oct 2022 14:49:13 +0000 (+0300) Subject: xen/arm: p2m: fix pa_range_info for 52-bit pa range X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~108 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=974c8d810a1daacb3322015cd1c124d26155fc75;p=xen.git xen/arm: p2m: fix pa_range_info for 52-bit pa range Currently, the fields 'root_order' and 'sl0' of the pa_range_info for the 52-bit pa range have the values 3 and 3, respectively. This configuration does not match any of the valid root table configurations for 4KB granule and t0sz 12, described in ARM DDI 0487I.a D8.2.7. More specifically, according to ARM DDI 0487I.a D8.2.7, in order to support the 52-bit pa size with 4KB granule, the p2m root table needs to be configured either as a single table at level -1 or as 16 concatenated tables at level 0. Since, currently there is no support for level -1, set the 'root_order' and 'sl0' fields of the 52-bit pa_range_info according to the second approach. Note that the values of those fields are not used so far. This patch updates their values only for the sake of correctness. Fixes: 407b13a71e32 ("xen/arm: p2m don't fall over on FEAT_LPA enabled hw") Signed-off-by: Xenia Ragiadakou Reviewed-by: Michal Orzel Reviewed-by: Julien Grall Release-acked-by: Henry Wang --- diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 00d05bb708..94d3b60b13 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -2281,7 +2281,7 @@ void __init setup_virt_paging(void) [3] = { 42, 22/*22*/, 3, 1 }, [4] = { 44, 20/*20*/, 0, 2 }, [5] = { 48, 16/*16*/, 0, 2 }, - [6] = { 52, 12/*12*/, 3, 3 }, + [6] = { 52, 12/*12*/, 4, 2 }, [7] = { 0 } /* Invalid */ };